Tutoriel Gtk2Hs 1 - Introduction
Tutoriel Gtk2Hs 2 - Démarrage
Tutoriel Gtk2Hs 3.1 - Empaquetage des widgets
Tutoriel Gtk2Hs 3.2 - Programme de démonstration de l'empaquetage
Tutoriel Gtk2Hs 3.3 - Empaquetage en utilisant des grilles
Tutoriel Gtk2Hs 4.1 - Le widget bouton
Tutoriel Gtk2Hs 4.2 - Réglages, curseurs, plages de valeurs
Tutoriel Gtk2Hs 4.3 - Étiquettes
Tutoriel Gtk2Hs 4.4 - Flèches et infobulles
Tutoriel Gtk2Hs 4.5 - Dialogues, Stock Items et barres de progression
Tutoriel Gtk2Hs 4.6 - Zone de saisie de texte et barres d'état
Tutoriel Gtk2Hs 4.7 - Boutons compteurs
Tutoriel Gtk2Hs 5.1 - Calendrier
Tutoriel Gtk2Hs 5.2 - Sélection de fichiers
Tutoriel Gtk2Hs 5.3 - Sélection de fontes et de couleurs
Tutoriel Gtk2Hs 5.4 - Bloc-notes
Tutoriel Gtk2Hs 6.1 - Fenêtres avec défilement
Tutoriel Gtk2Hs 6.2 - Boites d’événements et boites à boutons
Tutoriel Gtk2Hs 6.3 - Le conteneur de disposition
Tutoriel Gtk2Hs 6.4 - Fenêtres à volets et cadres d'apparences
Tutoriel Gtk2Hs 7.1 - Menus et barres d'outils
Tutoriel Gtk2Hs 7.2 - Menus contextuels, actions radios et bascules
Gtk2Hs est une librairie graphique GUI pour Haskell basée sur Gtk+. Gtk+ est une boite à outils extensible, évoluée et multi-plateforme pour créer des interfaces graphiques.
Ce tutoriel est destiné à un programmeur Haskell de niveau intermédiaire et couvre ce qui est requis pour écrire les interfaces graphiques les plus classiques. Ceci est résumé dans la table des matières de ce tutoriel. Pour les utilisateurs avancés, la documentation de Gtk2Hs contient plus d'informations.
Gtk+ est une librairie de composants appelés "widgets", qui sont organisés dans un classement orienté objet. Dans Gtk2Hs, cela est implémenté en donnant à chaque widget à la fois un type Haskell et une classe Haskell. De cette façon, le système de type de Haskell est préservé et le programmeur a tous les avantages de la vérification du typage par le compilateur GHC et l'interpréteur. Gtk2Hs possède également des fonctions pour la conversion de types (casting).
Les widgets ont des attributs qui contrôlent leur comportement et leur apparence. Il y a deux fonctions générales pour définir et récupérer les attributs.
Pour définir un ou plusieurs attributs d'un widget, on utilise:
set widget [widgetAttr1 := foo, widgetAttr2 := fie, widgetAttr3 := bar]
Pour obtenir un attribut d'un widget, on utilise:
x <- get widget widgetAttr1
Il existe également des fonctions spécifiques pour fixer et obtenir les attributs, mais à l'avenir ces fonctions peuvent devenir obsolètes.
Le fonctionnement d'une application Gtk2Hs est déterminé par les actions de l'utilisateur telles que, cliquer sur la souris, appuyer sur une touche, sélectionner un bouton, etc… Ces actions sont appelées "événements" (events) et peuvent se matérialiser par l'émission d'un "signal". L'information sur les événements, par exemple le clique gauche ou droite à la souris , peut être capturée dans des champs de données qui peuvent être récupérées par le programmeur. Les signaux sont habituellement utilisés par des fonctions spécifiques pour ce type de widget. Elles sont listées dans la section Signaux de la documentation pour ce widget. La plupart de ces fonctions ont pour type IO () comme paramètres, mais certaines peuvent retourner des résultats. Le programmeur Gtk2Hs doit donc écrire ces fonctions qui déterminent le comportement du programme en réponse à l'action de l'utilisateur.
Enfin, définir l'organisation des widgets dans une application et déterminer l'apparence visuelle peut être fait graphiquement avec l'éditeur d'interface Glade. Gtk2Hs supporte intégralement Glade. Une introduction à Glade se trouve sur le site web de Gtk2Hs. Il est recommandé d'utiliser Glade lors de la programmation d'interfaces graphiques avec Gtk2Hs.